#include <iostream>
#include <string>
#include <ctemplate/template.h>

using namespace std;

int main()
{
    string in_html = "./test.html";
    string value = "比特就业课";

    ctemplate::TemplateDictionary root("test");
    root.SetValue("key", value);

    // 获取被渲染网页对象
    ctemplate::Template *tpl = ctemplate::Template::GetTemplate(in_html, ctemplate::DO_NOT_STRIP);

    // 添加字典数据
    string out_html;
    tpl->Expand(&out_html, &root);

    // 完成了渲染
    cout << out_html << endl;
    return 0;
}

// //用于测试资源限制
// #include<iostream>
// #include<boost/algorithm/string.hpp>

// // #include<sys/resource.h>
// // #include<sys/time.h>
// // #include<unistd.h>
// // #include<signal.h>
// // #include<jsoncpp/json/json.h>

// using namespace std;

// int main()
// {
//     vector<string> tokens;
//     string str="1 判断回文数 简单                  1 30000";
//     string sep=" ";
//     boost::split(tokens,str,boost::is_any_of(sep),boost::token_compress_on);//
//     for(auto &iter:tokens)
//     {
//         cout<<iter<<endl;
//     }

//     return 0;
// }

// int main()
// {
//     //序列化的工作
//     //将结构化数据转化成一个字符串
//     //Value是一个Json中间类，可以填充KV值
//     Json::Value root;
//     root["code"]="mycode";
//     root["user"]="bch";
//     root["age"]="21";

//     Json::StyledWriter writer;

//     string str=writer.write(root);
//     cout<<str<<endl;
// }

// void handler(int signo)
// {
//     cout<<"signo:   "<<signo<<endl;
//     exit(0);
// }

// int main()
// {
//     //资源不足，导致OS终止进程，是通过信号终止的
//     for(int i=0;i<=31;i++)
//     {
//         signal(i,handler);
//     }

//     //限制运行累计运行时常

//     struct rlimit rl;
//     rl.rlim_cur=1;//时间限制1s
//     rl.rlim_max=RLIM_INFINITY;

//     setrlimit(RLIMIT_CPU,&rl);

//     while(1)
//     {}

//     // struct rlimit rl;
//     // rl.rlim_cur=1024*1024*20;//
//     // rl.rlim_max=RLIM_INFINITY;
//     // setrlimit(RLIMIT_AS,&rl);

//     // int count=0;
//     // while(1)
//     // {
//     //     int* p=new int[1024*1024];
//     //     count++;
//     //     cout<<"size:    "<<count<<endl;
//     //     sleep(1);
//     // }

//     return 0;
// }

